#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//struct stu {
//	int xuehao;
//	int fenshu;
//};
//int main() {
//	struct stu fer;
//	struct stu* s = &fer;
//	scanf("%d %d", &s->xuehao, &s->fenshu);
//	printf("%d %d", fer.xuehao, fer.fenshu);
//
//	return 0;
//}
//
//#include <stdio.h>
//int main() {
//	const int a = 99;
//	int* b = &a;
//	*b = 11;
//	printf("%d", a);
//	return 0;
//}
//
//#include <stdio.h>
//int main() {
//	int n, p, sum = 0;
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++) {
//		scanf("%d", &p);
//		sum += p;
//	}
//	printf("%d", sum);
//}
//
//#include <stdio.h>
//int main() {
//	int n;
//	double a = 1, sum = 0;
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++) {
//		sum += 1 / a;
//		a += 2;
//	}
//	printf("%.2lf", sum);
//	return 0;
//}
//
//#include <stdio.h>
//int main() {
//	int n, f = 1;
//	scanf("%d", &n);
//	double a = 1, sum = 0;
//	for (int i = 0; i < n; i++) {
//		sum += 1 / a * f;
//		a += 2;
//		f *= -1;
//	}
//	printf("%.2lf", sum);
//	return 0;
//}
//
//#include <stdio.h>
//int main() {
//	int n, f = 1;
//	scanf("%d", &n);
//	double a = 1, b = 1, sum = 0;
//	for (int i = 0; i < n; i++) {
//		sum += a / b * f;
//		a += 1;
//		b += 2;
//		f *= -1;
//	}
//	printf("%.3lf", sum);
//	return 0;
//}
//
//#include <stdio.h>
//int main() {
//	int n, p, max;
//	scanf("%d", &n);
//	scanf("%d", &p);
//	max = p;
//	for (int i = 1; i < n; i++) {
//		scanf("%d", &p);
//		if (max < p) {
//			max = p;
//		}
//	}
//	printf("%d", max);
//	return 0;
//}
//
//#include <stdio.h>
//int main() {
//	double s, p, n, l = 0;
//	scanf("%lf", &n);
//	for (int i = 0; i < n; i++) {
//		scanf("%lf", &s);
//		if (s < 60.0) {
//			l += 1;
//		}
//	}
//	p = l / n;
//	printf("%.2lf", p);
//	return 0;
//}
//
//#include <stdio.h>
//int main() {
//	int n, t, f = 0, l = 0, z = 0;
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++) {
//		scanf("%d", &t);
//		if (t > 0) {
//			z += 1;
//		}
//		else if (t < 0) {
//			f += 1;
//		}
//		else if (t == 0) {
//			l += 1;
//		}
//	}
//	printf("%d %d %d", f, l, z);
//	return 0;
//}
//
//#include <stdio.h>
//int main() {
//	int n, t, j = 1;
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++) {
//		scanf("%d", &t);
//		if (t % 2 != 0) {
//			j *= t;
//		}
//	}
//	printf("%d", j);
//	return 0;
//}

//#include <stdio.h>
//#include <math.h>
//int main() {
//	double m, n;
//	scanf("%lf %lf", &m, &n);
//	for (; m <= n; m++) {
//		printf("%4.0lf%8.4lf\n", m, log(m));
//	}
//	return 0;
//}

//#include <stdio.h>
//long long int jc(long long int te) {
//	if (te > 1) {
//		te -= 1;
//		return te * jc(te);
//	}
//	return 1;
//}
//int main() {
//	long long int n, t;
//	scanf("%lld", &n);
//	for (int i = 1; i <= n; i++) {
//		t = i * jc(i);
//		printf("%-4lld%-20lld\n", i, t);
//	}
//	return 0;
//}

//#include <stdio.h>
//int main() {
//	int m, n, sumj = 0, sumo = 0;
//	scanf("%d %d", &m, &n);
//	for (; m <= n; m++) {
//		if (m % 2 == 0) {
//			sumo += m * m;
//		}
//		else {
//			sumj += m * m * m;
//		}
//	}
//	printf("%d %d", sumo, sumj);
//	return 0;
//}

#include <stdio.h>
int jc(int t) {
	if (t > 1) {
		return t * jc(t-1);
	}
	else {
		return 1;
	}
}
int main() {
	int n, sum = 0;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) {
		sum += jc(i);
	}
	printf("%d", sum);
	return 0;
}